Открытая платформа для создания заботливой квартиры

Собранная своими руками умная розетка позволяет:

  • управлять нагрузкой по расписанию, например, что-то включить утром и выключить вечером;
  • контролировать и управлять нагрузкой через интерфейс Home Assistant и дистанционно через Интернет;
  • считать количество потребленной электроэнергии.

Итак, для создания умной розетки вам понадобятся:

Название Назначение Цена, руб.
BLE JDY-08 Радиомодуль Bluetooth LE 140
Arduino Pro Mini Микроконтроллер для учета затраченной электроэнергии 135
Hi-Link HLK PM-01 5V Изолированный модуль питания 5В 150
G3MB-202P DC-AC 5V Твердотельное реле 56
ACS758 Модуль измерения силы тока в цепи 190

Модуль измерения силы тока и реле удобно скрыть внутри розетки, чтобы недопустить случайного касания 220В. Изолированный блок питания и логику можно расположить на самой розетке, если внутри для них не осталось места.

Умная розетка своими руками

Программируем розетку

О том как настроить Arduino IDE и подключить микроконтроллер к ПК читайте в этой коротенькой инструкции. Для компиляции программы необходимо загрузить библиотеки и добавить их в Arduino IDE через меню Sketch - Install library:

#include <jdy8.h>
#include <LowPower.h>
#include <ACSensor.h>

#define SENSOR_PIN A1

JDY8 ble(11, 7, 10); // RX, TX, Reset
ACSensor sensor(SENSOR_PIN, 40.0, 10.0); // sensor pin, ACS sensitivity (mV/A), ACS noise level (mV)
int lastValue = 1;

void setup() 
{
  sensor.calibrate();
  ble.configure("Socket-1", 0, 1);
}

void loop() 
{
  // get power consumption
  unsigned int watt = sensor.getWatt();
  if ( lastValue != watt ) {
    // send measurement
    lastValue = watt;
    ble.major(watt);
  }

  // fall a sleep
  LowPower.powerDown(SLEEP_2S, ADC_OFF, BOD_OFF);
  delay(100);
}

Собираем по схеме

Схема умной розетки своими руками

Программируем HASS

Файл: /config/configuration.yaml

switch:
  - platform: cutecare
    name: Smart Socket
    mac: 0C:B2:B7:3E:C3:E5
    threshold: 5
    pin: 2

sensor:
  - platform: cutecare
    scan_interval: 60
    mac: 0C:B2:B7:3E:C3:E5
    monitored_conditions:
      - watt
    name: smart_socket

Параметр "pin" позволяет указать номер пина JDY-08, с которого идет сигнал на реле.

Дополнительные материалы